| Value | Meaning |
|---|---|
| disconnected | Represents basically a blank state where it can transition to connected or waiting |
| connected | It is currently connected and getting data will actually send the data instead of trying to connect. |
| waiting | It is attempting to connect to the specified IP+ID Address |
| attemptingReconnect | It was connected, but for some reason, client sent a disconnect message and now it is trying to reconnect |
Network module is one which can't be abstracted much. That happens because, by using templates, it is possible to reduce the memory footprint required for sending and getting data. The implementation of sending data without templates would likely require to allocate memory on heap instead of stack.
So, most functionality will actually be implemented on API instead of inside the engine module.